<?php
 ini_set("error_reporting", E_ALL);
 ini_set("display_errors","1"); 
 ini_set("ignore_repeated_errors","1");
 ini_set("log_errors", "1" ); 
// ini_set("error_log", "articles/errors_statistique.txt" ); 
 
$taille = 50;
$moyen = 0;
$nbmot =0;
$max = 0;
$min = 1;
$ecart =0;
$variance = 0;
$mediane = 0;
$stringmin = "";

function getmoyenne ($target){
  global $taille;
  global $moyen;
  global $nbmot;
  global $max;
  global $min;
  global $ecart;
  global $variance;
  global $mediane;
  global $stringmin;
  $ecarttype =0;
  $somme = 0;
  $coef = 0;
  $minlocal = 1;
  $indice = 1;
  
  $arr = file2array ($target);
	$string = array2html ($arr);
	$string = clear($string);
	$array = preg_split("/[\s,]+/",$string);
	$nbmot = (sizeof($array)-$taille);
	$dat ="";
	
	$stringmin = "<ul>";
	for ($i = $taille; $i < (sizeof($array)-$taille); $i++){
    $res = calculAt ($array,$i,$taille);
    $result[$i-$taille] = $res;
    if ($res  < $minlocal) $minlocal = $res;
    if ($res * 0.80 > $minlocal) {
      if ($minlocal != 1){
        	for ($j = $i - 20;$j < $i + 20; $j++){
        	   $mot = $array [$j];
              if($j != $i) $dat .= "$mot ";
              else $dat .= "(surligne)$mot(@surligne) ";
          }
        $stringmin .="<li>(souligne)Minimun local observed :(@souligne)$minlocal<ul>(souligne)Extrait du texte :(@souligne)<br>$dat</ul></li><br/>";
        $minlocal = 1;
        $dat = "";
      }
    }
    if ($res>$max) $max = $res;
    if ($res<$min) $min = $res;
    $somme += $res;
  }
  $stringmin .= "</ul>";
  
  //calcul moyenne
  $moyen = $somme / (sizeof($array)-$taille);
  
  
  
  $coef = 1/($nbmot - 1);
  for ($i=0; $i<(sizeof($result)); $i++){
    $ecart += ($result[$i] - $moyen)*($result[$i] - $moyen);
  }
  
  //calcul ecart type
  $ecart = sqrt(($coef)*$ecart);
  //calcul variance
  $variance = (1/$nbmot) * $ecart;
  
  //calcul mediane
  $mediane = sqrt((1/$nbmot) * $ecart);
    
	return $moyen;
}

function getnbMot() {
  global $nbmot;
  return $nbmot;
}

function getMax() {
  global $max;
  return $max;
}

function getMin() {
  global $min;
  return $min;
}

function getecartType(){
  global $ecart;
  return $ecart;
}

function getvariance(){
  global $variance;
  return $variance;
}

function getmediane(){
  global $mediane;
  return $mediane;
}

function getminlocaux(){
  global $stringmin;
  return $stringmin;
}

?>
